/*
 * respuesta-error.cpp
 *
 *  Created on: 20/09/2011
 *      Author: guido
 */

#include "respuesta-error.h"
#include "serializador.h"
#include <iostream>

RespuestaError::RespuestaError() {
}

RespuestaError::RespuestaError(std::string respuesta) {
	this->respuesta = respuesta;
}

void RespuestaError::serializar(char* &bytes, int &tamanyo) {
	tamanyo = this->serialSize();
	bytes = new char[tamanyo];
	Serializador serializador;
	strncpy(bytes, &RESPUESTA_ERROR, 1);
	// Asigno 1 a indice para no tomar el caracter identificador
	int indice = 1;
	serializador.serializarCadena(bytes, this->respuesta, indice);
}

int RespuestaError::serialSize() {
	return ( sizeof(RESPUESTA_ERROR) + WORD_SIZE + respuesta.size());
}

void RespuestaError::deserializar(char* bytes) {
	Serializador serializador;
	// Asigno 1 a indice para no tomar el caracter identificador
	int indice = 1;
	this->respuesta = serializador.deserializarCadena(bytes, indice);
}

std::string RespuestaError::obtenerSalida() {
	std::string temp(1, RESPUESTA_ERROR);
	temp += ";";
	temp += this->respuesta;
	return temp;
}




